<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function Star(name, age) {
            this.name = name
            this.age = age
        }
        const dd = new Star('东东', 28)
        // constructor
        console.dir(Star)

        // ==> 首先，constructor在原型上
        // 1. 每个原型（对象）上默认都有一个constructor属性，指回构造函数本身
        //  表示我，我这个原型，是哪个构造函数的原型 和 哪个构造函数相关联， ==> 其实就相当于一个标致
        Star.prototype.constructor === Star // 理解记忆

        // 2. 所有对象的隐式原型指向构造函数的显式原型
        console.log(dd.__proto__ === Star.prototype) // true

        // __proto__ ==> 指向的也是原型对象
        console.log(dd.__proto__.constructor === Star)
    </script>
</body>

</html>